/*
  PortuguesArduino.h - A simple library to help yong students program Arduino - Version 1
  Copyright (c) 2010 LusoRobotica.com  All right reserved.

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/


#ifndef PortuguesArduino
#define PortuguesArduino


// LITERAL1 specifies constants

#define ALTO HIGH
#define BAIXO LOW
#define ENTRADA INPUT
#define SAIDA OUTPUT
#define OMISSAO DEFAULT

// KEYWORD1 specifies datatypes and C/C++ keywords

#define booleano boolean
#define sair break
//#define byte
#define caso case
#define caracter char
#define classe class
#define continuar continue
#define omissao default
#define fazer do
#define real double
#define senao else
#define falso false
#define flutuante float
#define para for
#define se if
#define inteiro int
#define longo long
#define novo new
#define nulo null
#define privado private
#define protegido protected
#define publico public
#define retornar return
#define curto short
#define comsinal signed
#define estatico static
#define seleccionar switch
#define este this
#define lancar throw
#define tentar try
#define verdadeiro true
#define semsinal unsigned
#define vazio void
#define enquanto while
#define palavra word

// KEYWORD2 specifies methods and functions

#define modulo abs
//#define acos
//#define asin
//#define atan
//#define atan2
//#define ceil
//#define constrain
#define coseno cos
#define graus degrees
#define expoente exp
//#define floor
//#define log
//#define map
#define maximo max
#define minimo min
#define radianos radians
#define aleatorio random
#define aleatoriosemente randomSeed
#define arredondar round
#define seno sin
//#define sq
#define raizquadrada sqrt
#define tangente tan

/*
bitRead
bitWrite
bitSet
bitClear
bit	KEYWORD2
highByte	KEYWORD2	HighByte
lowByte
*/

#define referenciaAnalogico analogReference
#define lerAnalogico analogRead
#define escreverAnalogico analogWrite
#define anexarInterrupcao attachInterrupt
#define desanexarInterrupcao detachInterrupt
#define esperar delay
#define esperarMicrosegundos delayMicroseconds
#define escreverDigital digitalWrite
#define lerDigital digitalRead
#define interrupcoes interrupts
#define milisegundos millis
#define microsegundos micros
#define semInterrupcoes noInterrupts
//#define noTone
#define configurarPino pinMode
//#define pulseIn
//#define shiftOut
//#define tone

/*
Serial
Serial1
Serial2
Serial3
begin
end
read
print
println
available
flush
*/

#define configurar setup
#define ciclo loop


#endif